#pragma once

#include"semaphore.h"

class Sem {
public:
  // init sem with cnts
  Sem(int cnt) {
    sem_init(&_sem, 0, cnt);
  }

  // P operator --
  void P() {
    sem_wait(&_sem);
  }

  // V operator ++
  void V() {
    sem_post(&_sem);
  }


  ~Sem() {
    sem_destroy(&_sem);
  }

private:
  sem_t _sem;
};
